@邓泽琨:数字人文视角下的《史记》《汉书》比较研究

数字人文

Summary

首先,本文对于《史》《汉》中的字、词、命名实体的分布和特点进行对比。
其次,本文使用一种融入命名实体作为外部特征的文本相似度 算法对于《史记》《汉书》的异文进行自动发现
再次,本文通过计算异文段落之间的最长公共子序列来自动得出两段异文之间存在的差异,从宏观统计上证明了《汉书》文字风格《史记》的差别,并从微观上 进一步对二者语言特点进行了阐释

Note

语义相似度相关算法

传统上的语义文本相似(Semantic Textual Similarity,STS)(Agirre et el 2013)任务采用词袋模型(Bagofwords)或者 TF-IDF(Ramos,2003)方法将文本转化成实值向量,通过计算向量之间的接近程度来判断文本语义的相似性。
肖磊和陈小荷 (2010)用 bigram
李越 (2014)利用改进的编辑距离算法与事件信息标注相结合
近年来,神经网络开始成为 STS 的主流方法。梁媛等 (2021)用《春秋》和春秋三传建立了异文平行语料,训练了 BERT 模型判断两句话是否为异文
本文提出以命名实体为外部特征的文本相似度计算方法,该方法不需要人工监督数据,且 不存在输入长度限制,能够适应长文本比较的需要。

《史》《汉》字、词和命名实体的统计对比

字频分析

词频分布分析

命名实体频率分布对比
命名实体识别 (Named Entity Recognition, NER)
模型采用 BERT+BiLSTM+CRF(Conditional Random Field,条件随机场)架构,其中 BERT 参数 通过《四库全书》语料预训练初始化,之后利用《资治通鉴》NER 数据集对模型进行微调。
对《史》《汉》二书中每个实体类型频次最高的 10 个实体进行了统计

计算语言学视角的《史》《汉》异文研究

《史》《汉》文本袭用的自动发现(段落)

本文使用一种基于 TF-IDF 和命名实体的文本相似度算法来实现《史》《汉》二书异文的自动发现。
将《史记》和《汉书》按照中华书局标点本的分段切割成段落,将得到的 所有段落作为字符串集合 D,计算其中所有 n-gram 的 IDF。
对于《汉书》中的每一段文本 p,利用公式(1)计算其与《史记》中所有段落的相似度,并选出其中相似度最高的一段(记为 q),记二者的相似度为 u(p,q)。设定阈值μ,当 u(p,q)>μ时,认为 p 和 q 是相似的。在本研究中,公式(1)中的加权参数取λ=0。7,阈值μ=0。25。

基于最长公共子序列的《史》《汉》异文对比分析

最长公共子序列(Longest common subsequence, LCS)算法
继续利用 4.1 节提出的文本相似度算法来筛选可以进行比对的文本。将算法的阈值μ提高到 0.5,从而得到了 1364 对异文。
分别计算出这些异文的 LCS,将两段文本分别与 LCS 对齐之后,统计了《汉书》文段在《史记》的基础上增加和删除了哪些字。本文将增加的字数与删除的字数之差称为这对异文的“净变化字数”。——存在明显的“删字”现象

Linked literature